In recent years, many web-based applications have been developed that take advantage of asynchronous data-loading techniques (e.g., AJAX, FLEX, etc.). These techniques (typically implemented using a combination of technologies such as HTML, XHTML, XML, JavaScript, ECMAScript, CSS, Macromedia® Flash®, etc.) enable an application to dynamically update portions of a web page without requiring a reload of the entire page. For example, a typical sports-related web page may include a dynamic score ticker. When the web page is loaded using a client web browser, a script or other small program (e.g., JavaScript, ECMAScript, etc.) may be run by the browser that retrieves the latest scores on a periodic basis. As the latest scores are retrieved, the score ticker is updated in the browser accordingly (without refreshing/reloading the web page). In this manner, data updates are limited to the content that is actually changed (e.g., score information), rather than encompassing the contents of the entire web page, thereby reducing used bandwidth. Additionally, the perceived interactivity and responsiveness of the application may be improved.
One limitation with the asynchronous data loading techniques described above is requiring the client application (e.g., web browser) to be running for data updates to take place. In the case of the sports web page described above, the client web browser must be running in order for the embedded script to download additional, updated scores. This poses problems where the application/browser must be periodically closed or shut down. For instance, handheld/mobile devices such as cellular phones, personal digital assistants (PDAs), mobile PCs, and the like typically have limited memory or battery power, making it difficult to have a large application such as a web browser continuously running. In these situations, data updates cannot be downloaded when the application/browser is closed. Additionally, since the updates are not downloaded, they cannot be stored for later use. Thus, if the application/browser is re-launched at a time when network connectivity is unavailable (e.g., on an airplane), it is not possible to display the most recent information or information that was recent as of the last time network connectivity was available.
Another limitation with the techniques described above is that the data results downloaded by web applications, scripted runtimes, and Java or Virtual Machine (VM) based software generally are formatted for viewing only by the client web browser or application that requested the data. As such, the data results can only be viewed when the calling application/browser is running and cannot be published for display by applications other than the calling application/browser. Additionally, obtaining data results from several different applications requires the concurrent running of entire applications and does not allow published information to be combined in a unified way.